package com.senlingspace.payment.douyin.bean.response;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;

/**
 * 商品模板
 *
 * @author lebronjames
 * @date 2024/08/15
 */
@Data
public class DouyinGoodsTemplateResponse implements Serializable {

    @JsonProperty("data")
    private ResponseData data;

    /**
     * error_code 错误码，成功为0
     */
    @JsonProperty("extra")
    private DouyinCommonResponse.Extra extra;

    @EqualsAndHashCode(callSuper = true)
    @Data
    public static class ResponseData extends DouyinCommonResponse.CommonData {

        /**
         * 商品属性列表
         */
        @JsonProperty("product_attrs")
        private List<Attribute> productAttrs;

        /**
         * SKU属性列表
         */
        @JsonProperty("sku_attrs")
        private List<Attribute> skuAttrs;
    }

    @Data
    public static class Attribute implements Serializable {

        /**
         * 属性描述
         */
        @JsonProperty("desc")
        private String desc;

        /**
         * 是否列表
         */
        @JsonProperty("is_multi")
        private Boolean isMulti;

        /**
         * 是否必填
         */
        @JsonProperty("is_required")
        private Boolean isRequired;

        /**
         * 属性key
         */
        @JsonProperty("key")
        private String key;

        /**
         * 属性name
         */
        @JsonProperty("name")
        private String name;

        /**
         * 属性样例
         */
        @JsonProperty("value_demo")
        private String valueDemo;

        /**
         * 属性类型
         */
        @JsonProperty("value_type")
        private String valueType;
    }

}
